home *** CD-ROM | disk | FTP | other *** search
ARB Fragment shader | 2011-03-08 | 1.7 KB | 66 lines |
- !!ARBfp1.0
-
- #
- # Copyright (C) 2010 Team XBMC
- # http://www.xbmc.org
- #
- # This Program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2, or (at your option)
- # any later version.
- #
- # This Program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with XBMC; see the file COPYING. If not, write to
- # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- # http://www.gnu.org/copyleft/gpl.html
- #
- #
-
- PARAM yuvmat[4] = { program.local[0..3] };
- TEMP f;
- TEMP pos;
- ADD pos.x , fragment.texcoord[0].x, -0.25;
- MOV pos.y , fragment.texcoord[0].y;
- FRC f , pos;
-
- TEMP c1pos;
- TEMP c2pos;
- SUB c1pos.x, 0.5, f.x;
- SUB c2pos.x, 1.5, f.x;
- ADD c1pos.x, c1pos.x, pos.x;
- ADD c2pos.x, c2pos.x, pos.x;
- MOV c1pos.y, pos.y;
- MOV c2pos.y, pos.y;
-
- TEMP c1;
- TEMP c2;
- TEX c1, c1pos, texture[0], RECT;
- TEX c2, c2pos, texture[0], RECT;
-
- TEMP cint;
- MUL cint.x, f.x, 2.0;
- MAD cint.y, f.x, 2.0, -1.0;
- SGE cint.z, f.x, 0.5;
-
- TEMP yuv;
- LRP yuv.g, cint.x, c1.r , c1.b;
- LRP yuv.b, cint.y, c2.b , c1.r;
- LRP yuv.r, cint.z, yuv.b, yuv.g;
-
- LRP yuv.g, f.x , c2.g , c1.g;
- LRP yuv.b, f.x , c2.a , c1.a;
-
- TEMP rgb;
- DPH rgb.r, yuv, yuvmat[0];
- DPH rgb.g, yuv, yuvmat[1];
- DPH rgb.b, yuv, yuvmat[2];
- MOV rgb.a, fragment.color.a;
- MOV result.color, rgb;
-
- END
-